package org.posupe.areas;

import org.posupe.util.RepositorioException;


/**
 * @author Claudemir Junior
 *
 */
public class CadastroAreas {

	private RepositorioAreas areas;
	
	public CadastroAreas(RepositorioAreas repositorio) {
		this.areas = repositorio;
	}	
		
	public void cadastrar(Area area) throws RepositorioException, AreaJaCadastradaException {
		if (!areas.existe(area.getCodigo())) {
			areas.inserir(area);
		} else {
			throw new AreaJaCadastradaException(area);
		}
	}
	
	public void atualizar(Area area) throws RepositorioException, AreaInexistenteException {
		areas.atualizar(area);
	}
	
	public void remover(int codigo) throws RepositorioException, AreaInexistenteException {
		areas.remover(codigo);
	}
	
	public Area procurar(int codigo) throws RepositorioException, AreaInexistenteException {
		return areas.procurar(codigo);
	}
	
	public IteratorAreas procurar (Area area) throws RepositorioException {
		return areas.procurar(area);
	}
	
	public boolean existe(int codigo) throws RepositorioException {
		return areas.existe(codigo);
	}
	
	public IteratorAreas getAreas() throws RepositorioException {
		return areas.getIterator();
	}
}

